<?php
namespace App\Admin\Contracts;
/**
 * Created by 荣耀电竞.
 * User: 林子彦 <278805354@qq.com>
 * Date: 2018/5/17 0017
 * Time: 17:45
 */
interface  AuthRuleInterface{
    /**
     * 创建
     * @param $data
     * @return mixed
     */
      public function create($data);
    /**
     * 更新
     * @param $data
     * @return mixed
     */
    public function update($data);

    /**
     * 更新
     * @param $data
     * @return mixed
     */
    public function delete($data);

    /**
     * 更新与编辑
     * @param $data
     * @param $where
     * @return mixed
     */
    public function updateOrCreate($data,$where);
    /**
     * 搜索
     * @param $data
     * @return mixed
     */
    public function searchModelData($data);


    /**
     * 获取角色组
     * @param $where
     * @return mixed
     */
    public function getAuthGroupList($where);

    /**
     * 获取单个权限组
     * @param $where
     * @return mixed
     */
    public function getAuthGroupInfo($where);

    /**
     * 更新角
     * @param $where
     * @param $data
     * @return mixed色
     */
    public function updateAuthGroup($where,$data);

    /**
     * 更新与创建
     * @param $data
     * @return mixed
     */
    public function updateOrCreateAuthGroup($data);

    /**
     * 权限组
     * @param $where
     * @return mixed
     */
    public function delAuthGroup($where);
    /**
     * 权限菜单  id=>name
     * @param $where
     * @return mixed
     */
    public function getAuthRuleListNameByArray($where);
    /**
     * 删除访问权限
     * @param $where
     * @return mixed
     */
    public function delUserAuthGroupAccess($where);

    /**
     * 保存用户访问角色
     * @param $data
     * @return mixed
     */
    public function saveUserAuthGroupAccess($data);

    /**
     * 获取用户角色权限
     * @param $where
     * @return mixed
     */
    public function getUserAuthGroupAccessGroupId($where);

    /**
     * 菜单更新到auth_rule 表中去
     * @return mixed
     */
    public function updateNodeByMenu();

    /**
     * 获取菜单列表
     * @return mixed
     */
    public function getNodeMeunList();

}